239B - Easy Tape Programming - CodeForces Solution


brute force implementation *1500

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>

void solve(std::string s, int n){ 
    int CP = 0;
    int DP = 1;
    std::vector <int> ans(10, 0);
    std::vector <bool> met(n, false);
    while (1) {
        if (s[CP] != '<' && s[CP]!='>') {
            ans[s[CP]-'0']++;
            if (s[CP] != '0') s[CP]--;
            else met[CP] = true;
            CP += DP;
            while (CP>=0 && CP<n && met[CP]) CP += DP;
            if (CP<0 || CP>=n) break;
        }
        else {
            if (s[CP]=='>') DP = 1;
            else DP = -1;
            int pos = CP;
            CP += DP;
            while (CP>=0 && CP<n && met[CP]) CP += DP;
            if (CP<0 || CP>=n) break;
            if (s[CP]=='>' || s[CP]=='<') met[pos] = true;
        }
    }

    for (int i = 0;i<10;i++)
        std::cout << ans[i] << " ";
    std::cout << "\n";
}

int main() {
    int n, q;
    std::cin >> n >> q;
    std::string s;
    std::cin >> s;
    while (q--) {
        int l, r;
        std::cin >> l >> r;
        solve(s.substr(l-1, r-l+1), r-l+1);
    }
    return 0;
}/*1690616271.7140307*/


Comments

Submit
0 Comments
More Questions

112. Path Sum
1556A - A Variety of Operations
136. Single Number
169. Majority Element
119. Pascal's Triangle II
409. Longest Palindrome
1574A - Regular Bracket Sequences
1574B - Combinatorics Homework
1567A - Domino Disaster
1593A - Elections
1607A - Linear Keyboard
EQUALCOIN Equal Coins
XOREQN Xor Equation
MAKEPAL Weird Palindrome Making
HILLSEQ Hill Sequence
MAXBRIDGE Maximise the bridges
WLDRPL Wildcard Replacement
1221. Split a String in Balanced Strings
1002. Find Common Characters
1602A - Two Subsequences
1555A - PizzaForces
1607B - Odd Grasshopper
1084A - The Fair Nut and Elevator
1440B - Sum of Medians
1032A - Kitchen Utensils
1501B - Napoleon Cake
1584B - Coloring Rectangles
1562B - Scenes From a Memory
1521A - Nastia and Nearly Good Numbers
208. Implement Trie